﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace IvyOrm
{
    /// <summary>
    /// Provides additional options for columns designated with the PrimaryKeyAttribute
    /// </summary>
    [Flags]
    public enum PrimaryKeyOptions
    {
        /// <summary>
        /// Default option
        /// </summary>
        None = 0,

        /// <summary>
        /// Indicates that the column should be populated after inserts. 
        /// Note, support for this feature is only available with some providers
        /// </summary>
        ReturnKeyValueOnInsert = 1,

        /// <summary>
        /// Indicates the column should not excluded when performing an insert.
        /// This is the default if ReturnKeyValueOnInsert is set.
        /// </summary>
        ExcludeFromInsert = 2,

        /// <summary>
        /// Indicates the column should be included when performing insert. 
        /// This is the on by default unless ReturnKeyValueOnInsert is set.
        /// </summary>
        IncludeInInsert = 4,
    }
}
